package cc.imos.communal.kit;

import org.springframework.util.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 判断工具类
 *
 * @version 1.0 2016年3月21日 下午12:37:38 Asher Xu
 * @author Asher Xu
 */
public final class IsKit {

    /**
     * 正则匹配
     *
     * @param in
     *            匹配内容
     * @param regex
     *            匹配规则
     * @return 匹配结果
     * @version 1.0 2016年6月13日 上午10:23:16 Asher Xu
     * @author Asher Xu
     */
    public static final boolean isMatches(String in, String regex) {
        if (StringUtils.isEmpty(in))
            return false;
        if (StringUtils.isEmpty(regex))
            return false;
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(in);
        return m.matches();
    }

    /** 邮件 */
    public static final boolean isEmail(String in) {
        if (StringUtils.isEmpty(in))
            return false;
        // String regex = "\\w+@(\\w+.)+[a-z]{2,3}"; // 简单匹配
        String regex = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";// 复杂匹配
        return isMatches(in, regex);
    }

    /** 手机号 */
    public static final boolean isTel(String in) {
        String regex = "^((1[3|4|5|7|8][0-9]))\\d{8}$";
        return isMatches(in, regex);
    }

    public static void main(String[] args) {
        String in = "14383289909";
        System.err.println(isTel(in));
    }
}
